package com.comment.pojo.domain.logic.core;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;

import java.io.Serializable;
import java.util.Map;

import com.comment.config.dao.typeHandler.KV_IntegerInteger_Handler;
import com.comment.config.dao.typeHandler.KV_LongInteger_Handler;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

/**
 * 抽卡配置(按类型-稀有度)(CoreDrawConfig)表实体类
 *
 * @author cxy
 * @since 2024-08-08 16:38:26
 */
@ApiModel("抽卡配置(按类型-稀有度)")
// @HeadRowHeight(30)  //表头行高
// @ContentRowHeight(15)  //内容行高
// @ColumnWidth(18)  //列宽
// @ContentFontStyle(fontHeightInPoints = (short) 12) // 字体大小
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@EqualsAndHashCode(callSuper = true)
@TableName(autoResultMap = true)
public class CoreDrawConfig extends Model<CoreDrawConfig> {// swagger2,mybatis-plus
    ///////////////////////////////////////////////////////////////////////////////////////////////////////// 生成实体字段
    @TableId(type = IdType.AUTO)
    @ApiModelProperty("抽卡类型")
    // @ExcelProperty("抽卡类型")
    private Long type;

    @ApiModelProperty("配置名称")
    // @ExcelProperty("配置名称")
    private String name;

    @TableField(typeHandler = KV_IntegerInteger_Handler.class)
    @ApiModelProperty("稀有度对应的保底")
    // @ExcelProperty("稀有度对应的保底")
    private Map<Integer, Integer> time;

    @TableField(typeHandler = KV_LongInteger_Handler.class)
    @ApiModelProperty("单抽价格")
    // @ExcelProperty("单抽价格")
    private Map<Long, Integer> onePrice;

    @TableField(typeHandler = KV_LongInteger_Handler.class)
    @ApiModelProperty("十连价格")
    // @ExcelProperty("十连价格")
    private Map<Long, Integer> tenPrice;

    ///////////////////////////////////////////////////////////////////////////////////////////////////////// 序列化版本号
    @TableField(exist = false)
    // @ExcelIgnore
    private static final long serialVersionUID = 906275336477164229L;

    /////////////////////////////////////////////////////////////////////////////////////////////////////////// 获取主键值
    @Override
    public Serializable pkVal() {
        return this.type;
    }
    //////////////////////////////////////////////////////////////////////////////////////////////////////////
}

